#ifndef UTIL_H
#define UTIL_H

#include <gtk/gtk.h>
#include "board.h"

/****************************************
 * magazyn procedur pomocniczych        *
 * niezwiązanych bezpośrednio z bieżącą *
 * grą, trwającą w głównym okienku.     *
 ****************************************/

typedef struct Vector {

	int x;
	int y;
	
} Vector;

/* pobierz pozycję na podstawie klikniętych współrzędnych
 * i rozmiaru okna, jeśli są niepoprawne to zwraca (-1, -1) */
Vector translate_point_to_coord(int boardSize, Vector clicked,
                                Vector windowSize);

/* odśwież okno */
void refresh_display();

/* pokaż kto wygrał */
void show_winner();

/* odrysuj dowolną planszę na drawingArea */
gboolean draw_board_on_drawing_area(GtkWidget* drawingArea, Board* b);

/* wyświetl okienko dialogowe wyboru pliku i wczytaj planszę */
int read_from_file(Board** b, GtkWidget* parentWindow);

/* wyświetl okienko dialogowe zapisu do pliku i zapisz */
int save_to_file(Board* b, GtkWidget* parentWindow);

#endif